package com.ibeeking.found.upms.b.rest.service;

import com.ibeeking.found.upms.service.common.bo.ShopRoleBO;
import com.ibeeking.found.upms.service.common.param.RolePermissionParam;
import com.ibeeking.found.upms.service.common.param.ShopRoleParam;
import com.ibeeking.found.upms.service.common.query.ShopRolePageQuery;
import com.ibeeking.found.upms.service.common.vo.ShopRolePageVO;
import com.ibeeking.found.upms.service.common.vo.ShopRoleVO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
 * @ClassName IOriginalShopRoleService
 * @Description
 * @Author ibeeking
 * @Date 2021-04-15 11:46
 **/
public interface IShopRoleService {

    /***
     * 分页查询角色列表
     * @param query
     * @return
     */
    Page<ShopRolePageVO> pageList(ShopRolePageQuery query);

    /***
     * 新增
     */
    Boolean add(ShopRoleParam param);

    /***
     * 修改
     */
    Boolean modify(ShopRoleParam param);

    /***
     * 通过id查询
     */
    ShopRoleVO view(Long id);

    ShopRoleBO queryById(Long id);

    /***
     * 修改状态
     */
    Boolean changeStatus(Long id, Integer status);

    /***
     * 通过id删除
     */
    Boolean del(Long id);

    /**
     * 通过角色id修改权限
     *
     * @param param
     * @return
     */
    Boolean modifyRolePermissionByRoleId(RolePermissionParam param);

    List<String> queryPermissionIdsByRoleId(Long roleId);

    /**
     * 查询角色
     *
     * @return
     */
    List<ShopRoleBO> queryAll();
}
